#ifndef DRV_WATCHDOG_H
#define DRV_WATCHDOG_H

/* 确保STM32和HAL库宏定义存在 */
#ifndef USE_HAL_DRIVER
#define USE_HAL_DRIVER
#endif

#ifndef STM32F103xB
#define STM32F103xB
#endif

#include "main.h"
#include "user_config.h"

#ifdef __cplusplus
extern "C" {
#endif

#if (WATCHDOG_ENABLE == 1)

extern IWDG_HandleTypeDef hiwdg;

// 看门狗初始化
HAL_StatusTypeDef drv_watchdog_init(void);

// 看门狗喂狗
void drv_watchdog_refresh(void);

// 条件喂狗（带计数器控制）
void drv_watchdog_feed_with_counter(void);

#else
// 当看门狗功能关闭时的空实现
#define drv_watchdog_init()                     HAL_OK
#define drv_watchdog_refresh()                  
#define drv_watchdog_feed_with_counter()        
#endif

#ifdef __cplusplus
}
#endif

#endif /* DRV_WATCHDOG_H */
